package ai.peanut.selfbase.modules.role.service;

import ai.peanut.selfbase.common.domain.DataResult;
import ai.peanut.selfbase.modules.role.entity.Role;
import ai.peanut.selfbase.modules.role.pojo.RoleParams;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * <p>
 * 角色表 服务类
 * </p>
 *
 * @author lichong
 * @since 2019-02-15
 */
public interface IRoleService extends IService<Role> {
    /**
     * 获取列表
     * @param
     * @param params
     * @return
     */
    Page<Role> selectAllPageByParams( RoleParams params ) ;

    /**
     * 批量删除
     * @param params
     * @return
     */
    int deleteByIds( RoleParams params ) ;

    /**
     * 更新角色
     * @param params
     * @return
     */
    DataResult<Boolean> updateRole(RoleParams params);
    /**
     * 新增角色
     * @param params
     * @return
     */
    DataResult<Boolean> insertRole(RoleParams params);

    /**
     * 根据用户id查找角色列表
     * @param userId
     * @return
     */
    List<Long> selectRoleIdListByUserId( Long userId);

    /**
     * 获取列表 不分页
     * @param params
     * @return
     */
    List<Role> selectAllByParams(RoleParams params ) ;
}
